Parallel random variates generator for GPUs based on normal numbers

نویسندگان

  • Gleb Beliakov
  • Michael Johnstone
  • Douglas C. Creighton
  • Tim Wilkin
چکیده

Pseudorandom number generators are required for many computational tasks, such as stochastic modelling and simulation. This paper investigates the serial CPU and parallel GPU implementation of a Linear Congruential Generator based on the binary representation of the normal number α2,3. We adapted two methods of modular reduction which allowed us to perform most operations in 64-bit integer arithmetic, improving on the original implementation based on 106-bit double-double operations. We found that our implementation is faster than existing methods in literature, and our generation rate is close to the limiting rate imposed by the efficiency of writing to a GPU’s global memory.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A fast vectorised implementation of Wallace's normal random number generator

Wallace has proposed a new class of pseudo-random generators for normal variates. These generators do not require a stream of uniform pseudo-random numbers, except for initialisation. The inner loops are essentially matrix-vector multiplications and are very suitable for implementation on vector processors or vector/parallel processors such as the Fujitsu VPP300. In this report we outline Walla...

متن کامل

Algorithm 488: a Gaussian Pseudo-random Number Generator [g5]

We present an algorithm GRAND for generating normally distributed pseudo-random numbers, assuming the existence of a source of uniform random numbers. The method is exact, apart from the effect of rounding errors. The idea of using a rejection technique to avoid any elementary function evaluations is due to Von Neumann [4] and Forsythe [3], but our implementation requires less uniform samples p...

متن کامل

Random Number Generation and Simulation on Vector and Parallel Computers (extended Abstract) Rpb185 Typeset Using L a T E X2e 2

Pseudo-random numbers are often required for simulations performed on parallel computers. The requirements for parallel random number generators are more stringent than those for sequential random number generators. As well as passing the usual sequential tests on each processor, a parallel random number generator must give diierent, independent sequences on each processor. We consider the requ...

متن کامل

Random Number Generation and Simulation on Vector and Parallel Computers

Pseudo-random numbers are often required for simulations performed on parallel computers. The requirements for parallel random number generators are more stringent than those for sequential random number generators. As well as passing the usual sequential tests on each processor, a parallel random number generator must give different, independent sequences on each processor. We consider the req...

متن کامل

GPU Accelerated Scalable Parallel Random Number Generators

SPRNG (Scalable Parallel Random Number Generators) is widely used in computational science applications, particularly on parallel systems. The LFG and LCG are two frequently used random number generators in this library. In this paper, LFG and LCG are implemented on GPUs in CUDA. As a library for providing random number to GPU scientific applications, GASPRNG is designed to have one generator p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1206.1187  شماره 

صفحات  -

تاریخ انتشار 2012